package com.lg.concurrent.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.concurrent.TimeUnit;

/**
 * 单例问题
 *      一个会阻塞的controller多线程访问不会阻塞么？
 *      多线程去访问同一个方法，不会混乱么？
 *
 *  肯定不会，每个线程的方法栈 是不一样的，
 *  传入的参数执行的逻辑也是不一样的
 *
 */
@RestController
public class ThreadController {

    @GetMapping("login")
    public void  login(Integer doingTime){
        doing(doingTime);
    }

    @GetMapping("doing")
    public void doing(Integer doingTime){
        try {
            System.out.println(Thread.currentThread().getName()+" start");
            TimeUnit.SECONDS.sleep(doingTime);
            System.out.println(Thread.currentThread().getName()+" end");
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}
